home *** CD-ROM | disk | FTP | other *** search
/ Champak 146 / (Vol 146) Jan 07 2012.iso / Games / training_micromonk.swf / scripts / __Packages / MochiAd.as
Encoding:
Text File  |  2012-01-07  |  17.3 KB  |  622 lines

  1. class MochiAd
  2. {
  3.    var clip;
  4.    var fadeout_start;
  5.    var fadeout_time;
  6.    var _parent;
  7.    var onEnterFrame;
  8.    var mc;
  9.    var started;
  10.    var _mochiad_bar;
  11.    var last_pcnt;
  12.    var server_control;
  13.    var fadeFunction;
  14.    var _callbacks;
  15.    var _endpoint;
  16.    var _queue;
  17.    var doSend;
  18.    var _id;
  19.    var _mochiad_ctr;
  20.    var _url;
  21.    function MochiAd()
  22.    {
  23.    }
  24.    static function getVersion()
  25.    {
  26.       return "2.1";
  27.    }
  28.    static function showPreGameAd(options)
  29.    {
  30.       var _loc27_ = {clip:_root,ad_timeout:3000,fadeout_time:250,regpt:"o",method:"showPreloaderAd",color:16747008,background:16777161,outline:13994812,ad_started:function()
  31.       {
  32.          this.clip.stop();
  33.       },ad_finished:function()
  34.       {
  35.          this.clip.play();
  36.       }};
  37.       options = MochiAd._parseOptions(options,_loc27_);
  38.       var clip = options.clip;
  39.       var _loc23_ = 11000;
  40.       var _loc26_ = options.ad_timeout;
  41.       delete options.ad_timeout;
  42.       var fadeout_time = options.fadeout_time;
  43.       delete options.fadeout_time;
  44.       "load";
  45.       MochiAd;
  46.       1;
  47.       options;
  48.       if(!undefined)
  49.       {
  50.          options.ad_finished();
  51.          return undefined;
  52.       }
  53.       options.ad_started();
  54.       var mc = clip._mochiad;
  55.       mc.onUnload = function()
  56.       {
  57.          options.ad_finished();
  58.       };
  59.       var _loc14_ = MochiAd._getRes(options);
  60.       var _loc4_ = _loc14_[0];
  61.       var _loc13_ = _loc14_[1];
  62.       mc._x = _loc4_ * 0.5;
  63.       mc._y = _loc13_ * 0.5;
  64.       var chk = mc.createEmptyMovieClip("_mochiad_wait",3);
  65.       chk._x = _loc4_ * -0.5;
  66.       chk._y = _loc13_ * -0.5;
  67.       var _loc7_ = chk.createEmptyMovieClip("_mochiad_bar",4);
  68.       _loc7_._x = 10;
  69.       _loc7_._y = _loc13_ - 20;
  70.       var _loc22_ = options.color;
  71.       delete options.color;
  72.       var _loc19_ = options.background;
  73.       delete options.background;
  74.       var _loc24_ = options.outline;
  75.       delete options.outline;
  76.       var _loc5_ = _loc7_.createEmptyMovieClip("_outline",1);
  77.       _loc5_.beginFill(_loc19_);
  78.       _loc5_.moveTo(0,0);
  79.       _loc5_.lineTo(_loc4_ - 20,0);
  80.       _loc5_.lineTo(_loc4_ - 20,10);
  81.       _loc5_.lineTo(0,10);
  82.       _loc5_.lineTo(0,0);
  83.       _loc5_.endFill();
  84.       var _loc3_ = _loc7_.createEmptyMovieClip("_inside",2);
  85.       _loc3_.beginFill(_loc22_);
  86.       _loc3_.moveTo(0,0);
  87.       _loc3_.lineTo(_loc4_ - 20,0);
  88.       _loc3_.lineTo(_loc4_ - 20,10);
  89.       _loc3_.lineTo(0,10);
  90.       _loc3_.lineTo(0,0);
  91.       _loc3_.endFill();
  92.       _loc3_._xscale = 0;
  93.       var _loc6_ = _loc7_.createEmptyMovieClip("_outline",3);
  94.       _loc6_.lineStyle(0,_loc24_,100);
  95.       _loc6_.moveTo(0,0);
  96.       _loc6_.lineTo(_loc4_ - 20,0);
  97.       _loc6_.lineTo(_loc4_ - 20,10);
  98.       _loc6_.lineTo(0,10);
  99.       _loc6_.lineTo(0,0);
  100.       chk.ad_msec = _loc23_;
  101.       chk.ad_timeout = _loc26_;
  102.       chk.started = getTimer();
  103.       chk.showing = false;
  104.       chk.last_pcnt = 0;
  105.       chk.fadeout_time = fadeout_time;
  106.       chk.fadeFunction = function()
  107.       {
  108.          var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
  109.          if(_loc2_ > 0)
  110.          {
  111.             this._parent._alpha = _loc2_;
  112.          }
  113.          else
  114.          {
  115.             var _loc3_ = this._parent._parent;
  116.             MochiAd.unload(_loc3_);
  117.             delete this.onEnterFrame;
  118.          }
  119.       };
  120.       mc.lc.adLoaded = function(width, height)
  121.       {
  122.       };
  123.       mc.lc.adjustProgress = function(msec)
  124.       {
  125.          var _loc2_ = this.mc._mochiad_wait;
  126.          _loc2_.server_control = true;
  127.          _loc2_.started = getTimer();
  128.          _loc2_.ad_msec = msec;
  129.       };
  130.       chk.onEnterFrame = function()
  131.       {
  132.          var _loc6_ = this._parent._parent;
  133.          var _loc12_ = this._parent._mochiad_ctr;
  134.          var _loc5_ = getTimer() - this.started;
  135.          var _loc3_ = false;
  136.          var _loc4_ = _loc6_.getBytesTotal();
  137.          var _loc8_ = _loc6_.getBytesLoaded();
  138.          var _loc10_ = 100 * _loc8_ / _loc4_;
  139.          var _loc11_ = 100 * _loc5_ / chk.ad_msec;
  140.          var _loc9_ = this._mochiad_bar._inside;
  141.          var _loc2_ = Math.min(100,Math.min(_loc10_ || 0,_loc11_));
  142.          _loc2_ = Math.max(this.last_pcnt,_loc2_);
  143.          this.last_pcnt = _loc2_;
  144.          _loc9_._xscale = _loc2_;
  145.          if(!chk.showing)
  146.          {
  147.             var _loc7_ = _loc12_.getBytesTotal();
  148.             if(_loc7_ > 0 || typeof _loc7_ == "undefined")
  149.             {
  150.                chk.showing = true;
  151.                chk.started = getTimer();
  152.             }
  153.             else if(_loc5_ > chk.ad_timeout)
  154.             {
  155.                _loc3_ = true;
  156.             }
  157.          }
  158.          if(_loc5_ > chk.ad_msec)
  159.          {
  160.             _loc3_ = true;
  161.          }
  162.          if(_loc4_ > 0 && _loc8_ >= _loc4_ && _loc3_)
  163.          {
  164.             if(this.server_control)
  165.             {
  166.                delete this.onEnterFrame;
  167.             }
  168.             else
  169.             {
  170.                this.fadeout_start = getTimer();
  171.                this.onEnterFrame = chk.fadeFunction;
  172.             }
  173.          }
  174.       };
  175.    }
  176.    static function showInterLevelAd(options)
  177.    {
  178.       var _loc13_ = {clip:_root,ad_timeout:2000,fadeout_time:250,regpt:"o",method:"showTimedAd",ad_started:function()
  179.       {
  180.          this.clip.stop();
  181.       },ad_finished:function()
  182.       {
  183.          this.clip.play();
  184.       }};
  185.       options = MochiAd._parseOptions(options,_loc13_);
  186.       var clip = options.clip;
  187.       var _loc10_ = 11000;
  188.       var _loc12_ = options.ad_timeout;
  189.       delete options.ad_timeout;
  190.       var fadeout_time = options.fadeout_time;
  191.       delete options.fadeout_time;
  192.       "load";
  193.       MochiAd;
  194.       1;
  195.       options;
  196.       if(!undefined)
  197.       {
  198.          options.ad_finished();
  199.          return undefined;
  200.       }
  201.       options.ad_started();
  202.       var mc = clip._mochiad;
  203.       mc.onUnload = function()
  204.       {
  205.          options.ad_finished();
  206.       };
  207.       var _loc5_ = MochiAd._getRes(options);
  208.       var _loc14_ = _loc5_[0];
  209.       var _loc11_ = _loc5_[1];
  210.       mc._x = _loc14_ * 0.5;
  211.       mc._y = _loc11_ * 0.5;
  212.       var chk = mc.createEmptyMovieClip("_mochiad_wait",3);
  213.       chk.ad_msec = _loc10_;
  214.       chk.ad_timeout = _loc12_;
  215.       chk.started = getTimer();
  216.       chk.showing = false;
  217.       chk.fadeout_time = fadeout_time;
  218.       chk.fadeFunction = function()
  219.       {
  220.          var _loc2_ = 100 * (1 - (getTimer() - this.fadeout_start) / this.fadeout_time);
  221.          if(_loc2_ > 0)
  222.          {
  223.             this._parent._alpha = _loc2_;
  224.          }
  225.          else
  226.          {
  227.             var _loc3_ = this._parent._parent;
  228.             MochiAd.unload(_loc3_);
  229.             delete this.onEnterFrame;
  230.          }
  231.       };
  232.       mc.lc.adLoaded = function(width, height)
  233.       {
  234.       };
  235.       mc.lc.adjustProgress = function(msec)
  236.       {
  237.          var _loc2_ = this.mc._mochiad_wait;
  238.          _loc2_.server_control = true;
  239.          _loc2_.started = getTimer();
  240.          _loc2_.ad_msec = msec - 250;
  241.       };
  242.       chk.onEnterFrame = function()
  243.       {
  244.          var _loc5_ = this._parent._mochiad_ctr;
  245.          var _loc4_ = getTimer() - this.started;
  246.          var _loc2_ = false;
  247.          if(!chk.showing)
  248.          {
  249.             var _loc3_ = _loc5_.getBytesTotal();
  250.             if(_loc3_ > 0 || typeof _loc3_ == "undefined")
  251.             {
  252.                chk.showing = true;
  253.                chk.started = getTimer();
  254.             }
  255.             else if(_loc4_ > chk.ad_timeout)
  256.             {
  257.                _loc2_ = true;
  258.             }
  259.          }
  260.          if(_loc4_ > chk.ad_msec)
  261.          {
  262.             _loc2_ = true;
  263.          }
  264.          if(_loc2_)
  265.          {
  266.             if(this.server_control)
  267.             {
  268.                delete this.onEnterFrame;
  269.             }
  270.             else
  271.             {
  272.                this.fadeout_start = getTimer();
  273.                this.onEnterFrame = this.fadeFunction;
  274.             }
  275.          }
  276.       };
  277.    }
  278.    static function showTimedAd(options)
  279.    {
  280.       MochiAd.showInterLevelAd(options);
  281.    }
  282.    static function showPreloaderAd(options)
  283.    {
  284.       MochiAd.showPreGameAd(options);
  285.    }
  286.    static function _allowDomains(server)
  287.    {
  288.       var _loc1_ = server.split("/")[2].split(":")[0];
  289.       if(System.security)
  290.       {
  291.          if(System.security.allowDomain)
  292.          {
  293.             "allowDomain";
  294.             System.security;
  295.             1;
  296.             "*";
  297.             undefined;
  298.             "allowDomain";
  299.             System.security;
  300.             1;
  301.             _loc1_;
  302.             undefined;
  303.          }
  304.          if(System.security.allowInsecureDomain)
  305.          {
  306.             System.security.allowInsecureDomain("*");
  307.             System.security.allowInsecureDomain(_loc1_);
  308.          }
  309.       }
  310.       return _loc1_;
  311.    }
  312.    static function _loadCommunicator(options)
  313.    {
  314.       var _loc26_ = {clip:_root,com_server:"http://x.mochiads.com/com/1/",method:"loadCommunicator",depth:10337,id:"_UNKNOWN_"};
  315.       options = MochiAd._parseOptions(options,_loc26_);
  316.       options.swfv = options.clip.getSWFVersion() || 6;
  317.       options.mav = MochiAd.getVersion();
  318.       var _loc18_ = options.clip;
  319.       var _loc20_ = "_mochiad_com_" + options.id;
  320.       if(!MochiAd._isNetworkAvailable())
  321.       {
  322.          return null;
  323.       }
  324.       if(_loc18_[_loc20_])
  325.       {
  326.          return _loc18_[_loc20_].lc;
  327.       }
  328.       var _loc21_ = options.com_server + options.id;
  329.       MochiAd._allowDomains(_loc21_);
  330.       delete options.id;
  331.       delete options.com_server;
  332.       var _loc25_ = options.depth;
  333.       delete options.depth;
  334.       var _loc17_ = _loc18_.createEmptyMovieClip(_loc20_,_loc25_);
  335.       var _loc11_ = _loc17_.createEmptyMovieClip("_mochiad_com",1);
  336.       for(var _loc15_ in options)
  337.       {
  338.          _loc11_[_loc15_] = options[_loc15_];
  339.       }
  340.       var _loc6_ = new LocalConnection();
  341.       var _loc16_ = ["",Math.floor(new Date().getTime()),random(999999)].join("_");
  342.       _loc6_.mc = _loc17_;
  343.       _loc6_.name = _loc16_;
  344.       _loc6_.allowDomain = function(d)
  345.       {
  346.          return true;
  347.       };
  348.       _loc6_.allowInsecureDomain = _loc6_.allowDomain;
  349.       "connect";
  350.       _loc6_;
  351.       1;
  352.       _loc16_;
  353.       undefined;
  354.       _loc17_.lc = _loc6_;
  355.       _loc11_.lc = _loc16_;
  356.       _loc6_._id = 0;
  357.       _loc6_._queue = [];
  358.       _loc6_.rpcResult = function(cb_arg)
  359.       {
  360.          var _loc8_ = parseInt(cb_arg);
  361.          var _loc4_ = this._callbacks[_loc8_];
  362.          if(!_loc4_)
  363.          {
  364.             return undefined;
  365.          }
  366.          delete this._callbacks[_loc8_];
  367.          var _loc5_ = [];
  368.          var _loc3_ = 2;
  369.          while(_loc3_ < _loc4_.length)
  370.          {
  371.             _loc5_.push(_loc4_[_loc3_]);
  372.             _loc3_ = _loc3_ + 1;
  373.          }
  374.          _loc3_ = 1;
  375.          while(_loc3_ < arguments.length)
  376.          {
  377.             _loc5_.push(arguments[_loc3_]);
  378.             _loc3_ = _loc3_ + 1;
  379.          }
  380.          var _loc6_ = _loc4_[1];
  381.          var _loc7_ = _loc4_[0];
  382.          if(_loc7_ && typeof _loc6_ == "string")
  383.          {
  384.             _loc6_ = _loc7_[_loc6_];
  385.          }
  386.          if(_loc6_)
  387.          {
  388.             _loc6_.apply(_loc7_,_loc5_);
  389.          }
  390.       };
  391.       _loc6_._didConnect = function(endpoint)
  392.       {
  393.          this._endpoint = endpoint;
  394.          var _loc4_ = this._queue;
  395.          delete this._queue;
  396.          var _loc5_ = this.doSend;
  397.          var _loc2_ = 0;
  398.          while(_loc2_ < _loc4_.length)
  399.          {
  400.             var _loc3_ = _loc4_[_loc2_];
  401.             _loc5_.apply(this,_loc3_);
  402.             _loc2_ = _loc2_ + 1;
  403.          }
  404.       };
  405.       _loc6_.doSend = function(args, cbobj, cbfn)
  406.       {
  407.          if(this._endpoint == null)
  408.          {
  409.             var _loc4_ = [];
  410.             var _loc3_ = 0;
  411.             while(_loc3_ < arguments.length)
  412.             {
  413.                _loc4_.push(arguments[_loc3_]);
  414.                _loc3_ = _loc3_ + 1;
  415.             }
  416.             this._queue.push(_loc4_);
  417.             return undefined;
  418.          }
  419.          this._id += 1;
  420.          var _loc5_ = this._id;
  421.          if(cbfn === undefined || cbfn === null)
  422.          {
  423.             cbfn = cbobj;
  424.          }
  425.          this._callbacks[_loc5_] = [cbobj,cbfn];
  426.          var _loc7_ = new LocalConnection();
  427.          "send";
  428.          _loc7_;
  429.          4;
  430.          this._endpoint;
  431.          "rpc";
  432.          _loc5_;
  433.          args;
  434.          var _loc9_ = undefined;
  435.       };
  436.       _loc6_._callbacks = {};
  437.       _loc6_._callbacks[0] = [_loc6_,"_didConnect"];
  438.       _loc11_.st = getTimer();
  439.       "loadMovie";
  440.       _loc11_;
  441.       2;
  442.       _loc21_ + ".swf";
  443.       "POST";
  444.       undefined;
  445.       return _loc6_;
  446.    }
  447.    static function fetchHighScores(options, callbackObj, callbackMethod)
  448.    {
  449.       var _loc1_ = MochiAd._loadCommunicator({id:options.id});
  450.       if(!_loc1_)
  451.       {
  452.          return false;
  453.       }
  454.       var _loc4_ = ["fetchHighScores",options];
  455.       _loc1_.doSend(["fetchHighScores",options],callbackObj,callbackMethod);
  456.       return true;
  457.    }
  458.    static function sendHighScore(options, callbackObj, callbackMethod)
  459.    {
  460.       var _loc1_ = MochiAd._loadCommunicator({id:options.id});
  461.       if(!_loc1_)
  462.       {
  463.          return false;
  464.       }
  465.       var _loc4_ = ["sendHighScore",options];
  466.       _loc1_.doSend(["sendHighScore",options],callbackObj,callbackMethod);
  467.       return true;
  468.    }
  469.    static function load(options)
  470.    {
  471.       var _loc13_ = {clip:_root,server:"http://x.mochiads.com/srv/1/",method:"load",depth:10333,id:"_UNKNOWN_"};
  472.       options = MochiAd._parseOptions(options,_loc13_);
  473.       options.swfv = options.clip.getSWFVersion() || 6;
  474.       options.mav = MochiAd.getVersion();
  475.       var _loc9_ = options.clip;
  476.       if(!MochiAd._isNetworkAvailable())
  477.       {
  478.          return null;
  479.       }
  480.       if(_loc9_._mochiad_loaded)
  481.       {
  482.          return null;
  483.       }
  484.       var _loc12_ = options.depth;
  485.       delete options.depth;
  486.       var _loc6_ = _loc9_.createEmptyMovieClip("_mochiad",_loc12_);
  487.       var _loc11_ = MochiAd._getRes(options);
  488.       options.res = _loc11_[0] + "x" + _loc11_[1];
  489.       options.server += options.id;
  490.       delete options.id;
  491.       _loc9_._mochiad_loaded = true;
  492.       var _loc4_ = _loc6_.createEmptyMovieClip("_mochiad_ctr",1);
  493.       for(var _loc7_ in options)
  494.       {
  495.          _loc4_[_loc7_] = options[_loc7_];
  496.       }
  497.       var _loc10_ = _loc4_.server;
  498.       delete _loc4_.server;
  499.       var _loc14_ = MochiAd._allowDomains(_loc10_);
  500.       _loc6_.onEnterFrame = function()
  501.       {
  502.          if(this._mochiad_ctr._url != this._url)
  503.          {
  504.             this.onEnterFrame = function()
  505.             {
  506.                if(!this._mochiad_ctr)
  507.                {
  508.                   delete this.onEnterFrame;
  509.                   MochiAd.unload(this._parent);
  510.                }
  511.             };
  512.          }
  513.       };
  514.       var _loc5_ = new LocalConnection();
  515.       var _loc8_ = ["",Math.floor(new Date().getTime()),random(999999)].join("_");
  516.       _loc5_.mc = _loc6_;
  517.       _loc5_.name = _loc8_;
  518.       _loc5_.hostname = _loc14_;
  519.       _loc5_.allowDomain = function(d)
  520.       {
  521.          return true;
  522.       };
  523.       _loc5_.allowInsecureDomain = _loc5_.allowDomain;
  524.       "connect";
  525.       _loc5_;
  526.       1;
  527.       _loc8_;
  528.       undefined;
  529.       _loc6_.lc = _loc5_;
  530.       _loc4_.lc = _loc8_;
  531.       _loc4_.st = getTimer();
  532.       "loadMovie";
  533.       _loc4_;
  534.       2;
  535.       _loc10_ + ".swf";
  536.       "POST";
  537.       undefined;
  538.       return _loc6_;
  539.    }
  540.    static function unload(clip)
  541.    {
  542.       if(typeof clip == "undefined")
  543.       {
  544.          clip = _root;
  545.       }
  546.       if(clip.clip && clip.clip._mochiad)
  547.       {
  548.          clip = clip.clip;
  549.       }
  550.       if(!clip._mochiad)
  551.       {
  552.          return false;
  553.       }
  554.       clip._mochiad.removeMovieClip();
  555.       delete clip._mochiad_loaded;
  556.       delete clip._mochiad;
  557.       return true;
  558.    }
  559.    static function _isNetworkAvailable()
  560.    {
  561.       if(System.security)
  562.       {
  563.          var _loc1_ = System.security;
  564.          if(_loc1_.sandboxType == "localWithFile")
  565.          {
  566.             return false;
  567.          }
  568.       }
  569.       return true;
  570.    }
  571.    static function _getRes(options)
  572.    {
  573.       var _loc3_ = options.clip.getBounds();
  574.       var _loc2_ = 0;
  575.       var _loc1_ = 0;
  576.       if(typeof options.res != "undefined")
  577.       {
  578.          var _loc4_ = options.res.split("x");
  579.          _loc2_ = parseFloat(_loc4_[0]);
  580.          _loc1_ = parseFloat(_loc4_[1]);
  581.       }
  582.       else
  583.       {
  584.          _loc2_ = _loc3_.xMax - _loc3_.xMin;
  585.          _loc1_ = _loc3_.yMax - _loc3_.yMin;
  586.       }
  587.       if(_loc2_ == 0 || _loc1_ == 0)
  588.       {
  589.          _loc2_ = Stage.width;
  590.          _loc1_ = Stage.height;
  591.       }
  592.       return [_loc2_,_loc1_];
  593.    }
  594.    static function _parseOptions(options, defaults)
  595.    {
  596.       var _loc4_ = {};
  597.       for(var _loc8_ in defaults)
  598.       {
  599.          _loc4_[_loc8_] = defaults[_loc8_];
  600.       }
  601.       if(options)
  602.       {
  603.          for(_loc8_ in options)
  604.          {
  605.             _loc4_[_loc8_] = options[_loc8_];
  606.          }
  607.       }
  608.       if(_root.mochiad_options)
  609.       {
  610.          var _loc5_ = _root.mochiad_options.split("&");
  611.          var _loc2_ = 0;
  612.          while(_loc2_ < _loc5_.length)
  613.          {
  614.             var _loc3_ = _loc5_[_loc2_].split("=");
  615.             _loc4_[unescape(_loc3_[0])] = unescape(_loc3_[1]);
  616.             _loc2_ = _loc2_ + 1;
  617.          }
  618.       }
  619.       return _loc4_;
  620.    }
  621. }
  622.